import redis
import time
import os
import sys

sys.path.insert(0, '/home/peiyp/code')
from PyCmpltrtok.common import uuid


def text_gen(rdb, xinput, username=''):
    # 产生uuid
    xuuid = uuid()
    print('UUID:', xuuid)

    # 放入输入到hash，放入uuid到队列启动运算
    rdb.hset('uuid2input', xuuid, xinput.encode('utf8'))
    rdb.hset('uuid2username', xuuid, username.encode('utf8'))
    rdb.lpush('queue', xuuid)

    return xuuid

    """下面的逻辑暂时废弃"""

    # 等待输出
    while True:
        xoutput = rdb.hget('uuid2output', xuuid)
        if xoutput is None:
            time.sleep(0.001)
            continue
        xoutput = xoutput.decode('utf8')
        print('output:', xoutput)
        break

    # 清理数据
    rdb.hdel('uuid2input', xuuid)
    rdb.hdel('uuid2username', xuuid)

    # 返回结果
    return xoutput
